package sixth;
class Person4{
    public String info="AAA";
}
class Student4 extends Person4{
    public String info="BBB";
    public void print(){
        System.out.println("调用父类的属性："+super.info);
        System.out.println("调用子类的属性："+this.info);
    }
}
public class 属性的覆盖 {
    public static void main(String[] args) {
        new Student4().print();
    }
}
/*
D:\WorkSpaces\Java\jdk-21\bin\java.exe "-javaagent:D:\Software\IntelliJ IDEA\IntelliJ IDEA 2023.3.2\lib\idea_rt.jar=63920:D:\Software\IntelliJ IDEA\IntelliJ IDEA 2023.3.2\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\WorkSpaces\JavaDevelopBase_start_329\out\production\JavaDevelopBase_start_329 sixth.属性的覆盖
调用父类的属性：AAA
调用子类的属性：BBB

Process finished with exit code 0
 */
/**
 * 子类如果和父类声明了相同名称的属性 则子类直接访问的时候肯定采用”就近原则“
 * 即先找到本地的属性 如果此时想要调用父类的属性 直接使用“super.属性”格式
 */
/**
 * 区别点：     重载              覆写
 * 单词     overloading       overriding
 *
 *       方法名称相同，参数的   方法的名称、参数的类型、
 *       类型或个数不同        返回值类型全部相同
 * 定义
 *       对权限没有要求        被覆写的方法不能拥有更严格的权限
 *
 * 范围   发生在一个类中         发生在继承中
 */